<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui"
	template="/layout/template.xhtml">
	<ui:define name="body">
		<h:form id="form">
		<p:messages id="message" showDetail="true"/>
		<p:panel header="Registrar Empleado"  id="panel">
	    <p:wizard id="wiz" widgetVar="wiz" flowListener="#{mantenimientoEmpleadoFormAction.onFlowProcess}" nextLabel="#{message['btn.siguiente']}" backLabel="#{message['btn.atraz']}">
	    <p:tab title="#{message['empleado.tabpersonal']}">
	    <p:panel header="Datos Personales"> 
        <h:panelGrid columns="2" cellpadding="5">
			<h:outputText value="#{message['empleado.nombre']}" />
			<p:inputText id="nombre" value="#{mantenimientoEmpleadoFormAction.objEmpleado.nombreemp}" required="true" label="Nombre" 
			requiredMessage="#{message['empleado.nombre.validation']}"/>
			<h:outputText value="#{message['empleado.apepaterno']}" />
			<p:inputText id="apepaterno" value="#{mantenimientoEmpleadoFormAction.objEmpleado.apepatemp}" required="true" label="Apellido paterno"
			requiredMessage="#{message['empleado.apepaterno.validation']}"/>
			<h:outputText value="#{message['empleado.apematerno']}" />
			<p:inputText id="apematerno" value="#{mantenimientoEmpleadoFormAction.objEmpleado.apematemp}" required="true" label="Apellido materno"
			requiredMessage="#{message['empleado.apematerno.validation']}"/>
			<h:outputText value="#{message['empleado.genero']}" />
			<p:selectOneRadio  value="#{mantenimientoEmpleadoFormAction.objEmpleado.genero}" required="true" >
	            <f:selectItem itemLabel="Femenino" itemValue="F" />
	            <f:selectItem itemLabel="Masculino" itemValue="M" />
            </p:selectOneRadio>
			<h:outputText value="#{message['empleado.usuario']}" />
			<p:inputText id="usuario" value="#{mantenimientoEmpleadoFormAction.objEmpleado.usuario}" required="true" label="Usuario" 
			requiredMessage="#{message['empleado.usuario.validation']}"/>
		    <h:outputText value="#{message['empleado.contrasena']}" />
			<p:password id="contrasenya" value="#{mantenimientoEmpleadoFormAction.objEmpleado.contrasena}" required="true" label="Contrasenya"
			requiredMessage="#{message['empleado.contrasenya.validation']}"  />
			<h:outputText value="#{message['empleado.confcontra']}" />
			<p:password id="confcontra" value="#{mantenimientoEmpleadoFormAction.confcontra}" required="true" label="Confcontra"
			requiredMessage="#{message['empleado.confcontra.validation']}"/>
			<h:outputText value="Tipo de Doc. :" id="tipoL"  />
            <p:selectOneMenu id="tipo" value="#{mantenimientoEmpleadoFormAction.tipoDocumento}" required="true" >
            <f:selectItem itemLabel="Seleccione Tipo" itemValue="#{null}" />
            <f:selectItems  value="#{comboAction.tipoDocumentoitems}" />
            <p:ajax update="nrodoc"/>
            </p:selectOneMenu>
            <h:outputText value="#{message['empleado.nrodoc']}" />
            <h:panelGroup id="nrodoc" >
			<p:inputMask value="#{mantenimientoEmpleadoFormAction.objEmpleado.numdocumento}" mask="99999999"
					rendered="#{mantenimientoEmpleadoFormAction.tipoDocumento==1}"
					required="true" label="nrodoc"
					requiredMessage="#{message['empleado.nrodoc.validation']}" />
					
			<p:inputMask value="#{mantenimientoEmpleadoFormAction.objEmpleado.numdocumento}" mask="99999999999"
					required="true"  rendered="#{mantenimientoEmpleadoFormAction.tipoDocumento==2}"/>
            </h:panelGroup>
                          
            <h:outputText value="#{message['empleado.fechanac']}" />
			<p:calendar pagedate="-8380" maxdate="today" value="#{mantenimientoEmpleadoFormAction.objEmpleado.fechanacimiento}" id="fechanac" showButtonPanel="true" required="true"  pattern="dd/MM/yyyy"
			label="Fecha de nacimiento" requiredMessage="#{message['empleado.fechanac.validation']}"/>                  
            
            <h:outputText value="#{message['contrato.cliente.correo']}" />
					<p:inputText value="#{mantenimientoEmpleadoFormAction.objEmpleado.correo}"   title="para el @ presione: la tecla Alt + 64 y en laptop Alt Gr + Q" required="true" requiredMessage="#{message['contrato.cliente.email.validation']}" id="email" validatorMessage="Email incorrecto" maxlength="45" >
					 <f:validateRegex pattern="#{message['pattern.email.norequired']}" />
					</p:inputText>
            <p:watermark for="email" value="ejm@edicsem.com" /> 
            
			</h:panelGrid>
			</p:panel>
        </p:tab>
    
<p:tab title="#{message['empleado.tabnumeros']}">
			  <p:panel header="Números Telefónicos" >
			  <p:messages id="messaget" showDetail="true"/>
				<h:panelGrid columns="6"  id="panelTlf" cellpadding="4" >
				
				<h:outputText value="#{message['contrato.tipo.telefono']}" />
				<p:selectOneMenu  value="#{mantenimientoEmpleadoFormAction.tipoTelef}"
						style="width:165px"  >
						<f:selectItem itemLabel="Fijo" itemValue="1" />
						<f:selectItem itemLabel="Celular" itemValue="2" />
						<p:ajax update="panelTlf" listener="#{mantenimientoEmpleadoFormAction.limpiarDatosTelefono}" />
				</p:selectOneMenu>
				<p:spacer />
					
					<h:outputText value="#{message['contrato.operadorTelefonico']}" />
					<p:selectOneMenu id="operadorTelefonico" required="true" value="#{mantenimientoEmpleadoFormAction.operadorTelefonico}" rendered="#{mantenimientoEmpleadoFormAction.tipoTelef==1}"
						style="width:165px" requiredMessage="#{message['contrato.operadorTelefonico.validation']}" >
						<f:selectItem itemLabel="Seleccione Operador" itemValue="#{null}" />
						<f:selectItem itemLabel="Claro" itemValue="1" />
						<f:selectItem itemLabel="Telefónica" itemValue="2" />
					</p:selectOneMenu>
					<p:message for="operadorTelefonico" rendered="#{mantenimientoEmpleadoFormAction.tipoTelef==1}" />
					
					<p:selectOneMenu id="operadorCelular" required="true" value="#{mantenimientoEmpleadoFormAction.operadorTelefonico}" rendered="#{mantenimientoEmpleadoFormAction.tipoTelef==2}"
						style="width:165px" requiredMessage="#{message['contrato.operadorTelefonico.validation']}" >
						<f:selectItem itemLabel="Seleccione Operador" itemValue="#{null}" />
						<f:selectItem itemLabel="Claro" itemValue="1" />
						<f:selectItem itemLabel="Movistar" itemValue="2" />
						<f:selectItem itemLabel="Nextel" itemValue="3" />
					</p:selectOneMenu>
					<p:message for="operadorCelular" rendered="#{mantenimientoEmpleadoFormAction.tipoTelef==2}" />
					
					<h:outputText value="#{message['contrato.telefono']}" rendered="#{mantenimientoEmpleadoFormAction.tipoTelef==1}" />
					<p:inputMask id="numTelef" mask="999-9999" value="#{mantenimientoEmpleadoFormAction.nuevoTelef.telefono}"
						requiredMessage="#{message['contrato.telefono.casa.validation']}"  rendered="#{mantenimientoEmpleadoFormAction.tipoTelef==1}"/>
					<p:message for="numTelef" rendered="#{mantenimientoEmpleadoFormAction.tipoTelef==1}"/>
					
						<h:outputText value="#{message['contrato.celular']}"  rendered="#{mantenimientoEmpleadoFormAction.tipoTelef==2}"/>
						<p:inputMask mask="999-999999" value="#{mantenimientoEmpleadoFormAction.nuevoTelef.telefono}" id="numCelular"
							requiredMessage="#{message['contrato.celular.validation']}"  rendered="#{mantenimientoEmpleadoFormAction.tipoTelef==2}"/>
						<p:message for="numCelular"  rendered="#{mantenimientoEmpleadoFormAction.tipoTelef==2}"/>
						
						<h:outputText value="#{message['contrato.telefono.descripcion']}" />
						<p:inputText value="#{mantenimientoEmpleadoFormAction.nuevoTelef.descTelefono}" />
						<p:spacer />
						
						<p:commandButton value="Agregar Telefono Referencia"  icon="ui-icon ui-icon-check" 
						actionListener="#{mantenimientoEmpleadoFormAction.telefonoAgregar}" update="listarTelefonos, messaget" > 
						</p:commandButton>
						
				</h:panelGrid>
						<p:dataTable value="#{mantenimientoEmpleadoFormAction.telefonoPersonaList}" id="listarTelefonos" var="o" style="width:600px" 
							 rowStyleClass="#{o.operadorTelefonico eq 'Claro' ? 'colorRojo': (o.operadorTelefonico eq 'Movistar' ? 'color2': 'color3') }"   >
	
							<f:facet name="header">
								<h:outputLabel value="Telefonos de Referencia" />
							</f:facet>
							
							<p:column headerText="Observación" style="width:270px">
		                    	<h:outputText value="#{o.tipoTelef}, #{o.operadorTelefonico}, #{o.telefono}" />
		                    </p:column>
		                    
		                    <p:column headerText="Detalle" style="width:125px">
		                    	<h:outputText value="#{o.descTelefono}" />
		                    </p:column>
		                    
	                        <p:column headerText="Eliminar" style="width:125px">
		                    <p:commandButton id="showConfirmDeshabilitarTelEmp" 
				            value="Eliminar"  
				            icon="ui-icon ui-icon-close"
				            onclick="confirmationTelEmp.show()"> 
	 							
                            <f:setPropertyActionListener
		                    value="#{o.telefono}"
		                    target="#{mantenimientoEmpleadoFormAction.idt}" />

                            </p:commandButton>
		                    </p:column>
	 
						</p:dataTable>
					
				</p:panel>
				</p:tab>    
    
        <p:tab title="#{message['empleado.tabdireccion']}">
        <p:panel header="Dirección">
        <h:messages errorClass="error"/>  
        <h:panelGrid columns="2" id="panel3" cellpadding="4" >
         <h:outputText value="#{message['domicilio.direccion']}"  />
			<p:inputText id="domicilio" value="#{mantenimientoEmpleadoFormAction.objDomicilio.domicilio}" required="true" label="Domicilio"
			requiredMessage="#{message['domicilio.direccion.validation']}"/>  			    
				
				<h:outputText value="#{message['contrato.ubigeo.departamento']}" />
				<p:selectOneMenu size="1" value="#{mantenimientoEmpleadoFormAction.idDepartamento}" filter="true" filterMatchMode="startsWith"
					required="true" style="width:200px"
					requiredMessage="#{message['puntoVenta.ubigeo.departamento.validation']}" >
					<f:selectItem itemLabel="Seleccione Departamento"
						itemValue="#{null}" />
					<f:selectItems value="#{comboAction.ubigeoDeparItems}" />
					<p:ajax update="prov,dist" listener="#{mantenimientoEmpleadoFormAction.cambiar}" />
				</p:selectOneMenu>

				<h:outputText value="#{message['contrato.ubigeo.provincia']}" />
				<p:selectOneMenu id="prov" value="#{mantenimientoEmpleadoFormAction.idProvincia}" filter="true" filterMatchMode="startsWith"
					required="true" style="width:220px"
					requiredMessage="#{message['puntoVenta.ubigeo.provincia.validation']}" >
					<f:selectItem itemLabel="Seleccione Provincia" itemValue="#{null}" />
					<f:selectItems value="#{comboAction.ubigeoProvinItems}" />
					<p:ajax update="dist" listener="#{mantenimientoEmpleadoFormAction.cambiar2}" />
				</p:selectOneMenu>

				<h:outputText value="#{message['contrato.ubigeo.distrito']}" />
				<p:selectOneMenu id="dist" value="#{mantenimientoEmpleadoFormAction.idUbigeo}" filter="true" filterMatchMode="startsWith"
					required="true" style="width:220px"
					requiredMessage="#{message['puntoVenta.ubigeo.distrito.validation']}" >
					<f:selectItem itemLabel="Seleccione Distrito" itemValue="#{null}" />
					<f:selectItems value="#{comboAction.ubigeoDistriItems}" />
					<p:ajax update="ubigeoDefecto2" listener="#{mantenimientoEmpleadoFormAction.busquedaUbigeo}" ></p:ajax>
				</p:selectOneMenu>
				
				<h:outputText value="Ubigeo " />
				<h:outputText id="ubigeoDefecto2" value="#{mantenimientoEmpleadoFormAction.ubigeoDefecto}" />
			
			<p:outputLabel for="tipocasa" value="#{message['empleado.tipoCasa']}" id="tipocasaL"/>
            <p:selectOneMenu id="tipocasa" value="#{mantenimientoEmpleadoFormAction.tipo}" required="true" >
            <f:selectItem  itemValue="#{null}" itemLabel="Seleccione una opción"/>
            <f:selectItems value="#{comboAction.tipocasaItems}" />
            </p:selectOneMenu>
           </h:panelGrid>
            </p:panel>
        </p:tab>
         <p:tab title="#{message['empleado.tabcontrato']}" id="contemp"  >
         <p:panel id="panlcont" header="Datos Contrato">
         
           <h:panelGrid columns="2" cellpadding="4" >
            <h:outputText value="#{message['empleado.empresa.descripcion']}" />
            <p:selectOneMenu id="empresa" value="#{mantenimientoEmpleadoFormAction.idEmpresa}">
            <f:selectItems value="#{comboAction.empresaitems}"/>
            </p:selectOneMenu>
            
            <h:outputText value="#{message['empleado.fecInicio']}" />
            <p:calendar value="#{mantenimientoEmpleadoFormAction.fechaInicioContrato}" pattern="dd/MM/yyyy" style="width:300px" />
            <h:outputText value="#{message['empleado.cargo']}" />
            <p:selectOneMenu value="#{mantenimientoEmpleadoFormAction.idCargo}" label="Seleccione" filter="true" filterText="Filter" filterMatchMode="startsWith"  >  
            <f:selectItems value="#{comboAction.cargoEmpleadoItems}" />
            </p:selectOneMenu>
            <p:outputLabel  value="#{message['empleado.tipoPago']}" for="tipopago" />
            <p:selectOneMenu id="tipopago" value="#{mantenimientoEmpleadoFormAction.idTipoPago}"  >
            <f:selectItems value="#{comboAction.tipoPagoItems}"/>
            </p:selectOneMenu>
            <h:outputText value="#{message['empleado.basico']}" />
            <p:spinner value="#{mantenimientoEmpleadoFormAction.objContratoEmpleado.basico}" min="1"  /> 
            <h:outputText value="#{message['empleado.periodoPrueba']}" />
            <p:spinner title="x mes" value="#{mantenimientoEmpleadoFormAction.objContratoEmpleado.periodoPrueba}" min="1" /> 
            <p:spacer />
            <p:commandButton value="Agregar" update="panelPagos, message" action="#{mantenimientoEmpleadoFormAction.agregarPago}" icon="ui-icon-plusthick"/>
           	</h:panelGrid>
           	
            	<p:dataTable id="panelPagos" value="#{mantenimientoEmpleadoFormAction.contratoEmpleadoList}" var="c" style="width:800px"  >
						<p:column headerText="item" >
							<h:outputText value="#{c.item}" />
						</p:column>
						<p:column headerText="#{message['empleado.tabla.cargo']}" >
							<h:outputText value="#{c.tbCargoempleado.descripcion}" />
						</p:column>
						<p:column headerText="#{message['empleado.tabla.fecIni']}" >
							<h:outputText value="#{c.fechaInicioContrato}" />
						</p:column>
						<p:column headerText="#{message['empleado.tabla.sueldo']}" >
							<h:outputText value="#{c.basico}" />
						</p:column>
						<p:column headerText="Eliminar" style="width:125px">
		                    <p:commandButton id="showconfirmDeshabilitarConEmp" 
				            value="Eliminar"  icon="ui-icon ui-icon-close"
				            onclick="confirmationConEmp.show()"> 
	 							
                            <f:setPropertyActionListener
		                    value="#{c.item}" target="#{mantenimientoEmpleadoFormAction.idContrato}"     />
		                    </p:commandButton>
		                 </p:column>
				</p:dataTable>
				<br/><br/>
            <p:commandButton id="btngu" value="#{message['empleado.registrar']}" update="message" action="#{mantenimientoEmpleadoFormAction.insertar}" ajax="false" icon="ui-icon ui-icon-disk"/>
            <p:tooltip for="btngu"/>
            </p:panel>
        </p:tab>
        </p:wizard>
        <p:commandButton id="btnreg" value="Regresar" action="#{mantenimientoEmpleadoSearchAction.listar}" immediate="true" ajax = "false"  icon="ui-icon-circle-arrow-w"/> 
			
	</p:panel>	            
	</h:form>
	</ui:define>
</ui:composition>